package com.tebiecloud.mpopen.server.service;

import com.tebiecloud.mpopen.client.model.mpopen.AccessToken;
import com.tebiecloud.mpopen.client.model.mpopen.ApiQueryAuth;
import com.tebiecloud.mpopen.client.model.mpopen.AuthorizerInfo;
import com.tebiecloud.mpopen.client.model.mpopen.PreAuthCode;

/**
 * 第三方平台接口
 * @Author: tebie
 * @Date: 2019-09-07 16:20
 */
public interface MpopenApiService {

    /**
     * 获取公众号调用凭证
     * @param appid
     * @param force
     * @return
     */
    String getWxapiAccessToken(String appid, boolean force);

    /**
     * 网页授权，通过 code 换取 access_token
     * @param appid
     * @param code
     * @return
     */
    AccessToken getAccessToken(String appid, String code);

    /**
     * 使用授权码换取公众号的接口调用凭据和授权信息
     * @param authCode
     * @return
     */
    ApiQueryAuth getApiQueryAuth(String authCode);

    /**
     * 获取授权方的公众号帐号基本信息
     * @param authorizerAppid
     * @return
     */
    AuthorizerInfo getAuthorizerInfo(String authorizerAppid);

    /**
     * 获取预授权码pre_auth_code
     * @return
     */
    PreAuthCode getPreAuthCode();

}
